#include"mainwindow.h"

#include <QApplication>
#include"src/demo.h"
#include<src/mes.h>
#include<QDebug>
#include"src/login.h"
#include<QFile>
#include<QTextStream>
#include<QDialog>
#include"src/loadingwidget.h"
#include<src/adminwidget.h>
#include<QMessageBox>
#include<QDateTime>
#include"saveqrcode.h"

void initStyle(QApplication &a)
{
    //加载样式表
    QString qss;
    //QFile file(":/qss/psblack.css");
    //QFile file(":/qss/flatwhite.css");
    QFile file(":/qss/lightblue.css");
//    QFile file(":/psblack.css");
    if (file.open(QFile::ReadOnly)) {
#if 1
        //用QTextStream读取样式文件不用区分文件编码 带bom也行
        QStringList list;
        QTextStream in(&file);
        //in.setCodec("utf-8");
        while (!in.atEnd()) {
            QString line;
            in >> line;
            list << line;
        }

        qss = list.join("\n");
#else
        //用readAll读取默认支持的是ANSI格式,如果不小心用creator打开编辑过了很可能打不开
        qss = QLatin1String(file.readAll());
#endif
//        qDebug()<<qss;
        QString paletteColor = qss.mid(20, 7);
        a.setPalette(QPalette(QColor(paletteColor)));
        a.setStyleSheet(qss);
        file.close();
    }
}

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    a.setWindowIcon(QIcon(":/logo.ico"));
    a.setFont(QFont("Microsoft Yahei", 10));
    initStyle(a);                        // 全局加载样式表,所有窗口通用

//    QDateTime nowTime=QDateTime::currentDateTime();
//    QDateTime overDue=QDateTime::fromString("2023-05-01 00:00:00","yyyy-MM-dd hh:mm:ss");
//    if(nowTime>overDue){
//        QMessageBox::warning(NULL, QString("错误"), QString("软件已过期！\n\n")+"逾期日期为：2023-05-01 00:00:00");
//        return 0;
//    }

    Login l(true);
    if(l.exec()==QDialog::Accepted){          // 从登陆窗口访问数据库获得角色账号，姓名，权限
        MainWindow w;
        w.show();
        return a.exec();
    }else{
        return 0;
    }
}


//Loadingwidget l;
//l.show();
//return a.exec();

//    MainWindow m;

//    Loadingwidget l;
//    l.show();

//    Login l(true);
//    l.show();

//    Login l(true);
//    if(l.exec()==QDialog::Accepted){          // 从登陆窗口访问数据库获得角色账号，姓名，权限
//        qDebug()<<"1";
//    }else{
//        qDebug()<<"exit";
////        a.exit(0);
//    }

//    m.show();



//    Demo d;
//    d.show();
//    Mes* m=Mes::getInstance();
//    QList<QMap<QString,QVariant>> valuesList;
//    QString s("SELECT TOP 10 [code],[name] FROM [r9-bos-101].[dbo].[oper_role]");
//    m->selectData(s,valuesList);
//    qDebug()<<valuesList[0]["name"].toString();
//    a.exec();
//    return a.exec();
//}
